This invention relates generally to radio frequency identification (RFID) tag devices, and more particularly, to a read and write radio frequency identification tag device which synchronizes its decoder timing to the pulse positions of a received pulse position modulation (PPM) signal.
A radio frequency identification (RFID) tag is a device that stores identification information and sends back this identification information, and may also include other information, when the device is powered-up by a radio frequency (RF) signal. These RFID tag devices may be used in managing inventory, automatic identification of cars on toll roads, security systems, electronic access cards, keyless entry and the like. RFID tag devices utilize radio frequencies that have much better penetration characteristics to material then do optical signals, and will work under more hostile environmental conditions then bar code labels. Therefore, the RFID tag device may be read through paint, water, dirt, dust, human bodies, concrete, or through the tagged item itself. RFID tag devices are used in conjunction with a radio frequency tag reader (interrogator) which transmits RF signals and receives data signals from the RFID tag device. The passive RFID tag device has no internal power source, rather it uses the incoming RF signal as a power source. Once the RFID tag device is activated, it sends stored data to the interrogator by modulating the amplitude of the incoming RF signal.
There are two classes of passive RFID tag devices: (1) read only, and (2) read and write (or read/write). In the read only RFID tag device, information stored in a memory array is not rewriteable once it has been written and locked. This RFID tag device normally sends the stored information as soon as it is energized by the RF signal from the interrogator. In the read/write RFID tag device, the information stored in the memory array is rewriteable at any time by an RF command sequence from the interrogator. Thus, the information in the memory array can be constantly updated and then read by the interrogator.
The RFID tag device transmits stored information to the reader-interrogator by modulating the amplitude of the RF carrier signal from the reader by detuning a resonant circuit of the RFID tag device that is initially tuned to the RF carrier signal (de-Qing or loading, for example by resistive loading, of the resonant circuit in the RFID tag device may also be used to modulate the amplitude of the RF carrier signal of the reader-interrogator). The RFID tag device comprises, for example, a parallel connected inductor and capacitor which is used as an antenna and is resonant (tuned) to the frequency of the RF carrier signal of the interrogator, an RF to direct current (DC) converter, a modulation circuit to send the stored information to the reader-interrogator, a logic circuit which stores coded information, a memory array that stores digitized information, and controller logic that controls the overall functionality of the RFID tag device.
An excellent application for RFID tag devices is item level tagging such as retail and inventory management where a large number of RFID tags may be read and written in a short period of time. Using read-write RFID tag devices, product information stored in the RFID tag device memory array such as inventory number, product expiration date, weight, and product description can be constantly updated.
Unlike the read-only RFID tag device, the read-write RFID tag device needs a specific command sequence for writing to or reading from its memory array. Therefore, the read-write RFID tag device may have, for example, two operational modes: 1) xe2x80x9ctag talks firstxe2x80x9d and 2) xe2x80x9creader talks firstxe2x80x9d modes. The xe2x80x9ctag talks firstxe2x80x9d mode is when the RFID tag device transmits its data as soon as it is energized by the RFID tag reader. The xe2x80x9creader talks firstxe2x80x9d mode is when the RFID tag device does not transmit data unless being commanded to do so by the RFID tag reader.
The RFID tag reader sends command signals to the RFID tag device by modulating its RF carrier signal. These command signals may be represented by appropriately timed gap pulses using, for example, pulse position odulation (PPM) of the RF carrier signal. PPM is a transmission scheme whereby data is represented by the temporal location of a pulse or pulses within a time window known as a symbol frame. Initiating and maintaining synchronization of the RFID tag device""s time reference to the PPM signals from the RF)D tag reader is of the utmost importance for correct communications between the RFID tag device and reader.
There are two ways to achieve synchronization: The first uses the radio frequency carrier as a reference. This is often called the xe2x80x9csynchronousxe2x80x9d method. In this method, the internal power consumption of the RFID tag device increases as the carrier frequency goes higher. Therefore, this may reduce the total available power for reradiation. As a result, the effective communications range between the RFID tag device and reader becomes shorter.
The second way is to generate an internal reference signal by an internal oscillator in the RFID tag device. This is called the xe2x80x9casynchronousxe2x80x9d method. This method, however, requires xe2x80x9ccalibrationxe2x80x9d of the internal timing reference of the RFID tag device to the reader""s timing signal. This xe2x80x9ctime calibrationxe2x80x9d can be achieved by transmitting a calibration pulse from the reader every so often. This calibration pulse must be transmitted ahead of the PPM command signal so that the internal timing of the RFID tag device is synchronized to the reader before the PPM command is detected. Since the internal oscillator of the RFID tag device can be designed to keep the power consumption low, the total power consumption of the device can be less than a device using the synchronous method. As a result, its communication range becomes greater. This is an advantage of an RFID tag device using the asynchronous method.
Therefore, what is needed is a simple and effective way of synchronizing a PPM decoder circuit and externally transmitted PPM signal to a required timing precision for correct PPM decoding.
The invention overcomes the above-identified problems as well as other shortcomings and deficiencies of existing technologies by providing in an RFID tag device having a PPM decoder that is synchronized to an external PPM source such as a RFID tag reader by measuring the number of internal oscillator cycles during a calibration cycle having a plurality of pulses in a single symbol frame.
The RFID tag reader sends the command and acknowledgment signals to the RFID tag device by modulating the continuous wave (CW) carrier signal. The RFID tag reader uses, for example, a 1-of-16 PPM for data transmission. The gap pulse sequences are controlled by the time spacing between pulses to encode the command and operating parameters. The RFID tag reader also sends time reference pulses to calibrate the time base of the decoder in the RFID tag device. The time spacing between pulses for both the 1 of 16 PPM data and the calibration reference can be measured by counting the number of oscillator frequency cycles elapsing from an internal on-chip oscillator of the RFID tag device.
The RFID tag reader uses 1 of 16 PPM for control commands such as tag acknowledgment, read a tag block, write a tag block, etc. The 1 of 16 PPM uses the pulse positions in one of sixteen possible time slots as the communication mechanism for sending 4 bit symbols (24=16). All communications begin with a code violating calibration sequence composed of, for example but not limited to, three pulses in pulse positions zero, six and fourteen.
The symbol frame start and end are not explicitly transmitted and may be recovered by knowledge of the last symbol received, the count to the next received pulse and counts per pulse width. An equation describing this relationship is:
(sym)n=CBP/CPPxe2x88x9216+(sym)nxe2x88x921
where CBP=number of internal oscillator counts between pulses
CPP=number of internal oscillator counts per pulse width
(sym)nxe2x88x921=previous received symbol
(sym)n=new symbol received
Initiating synchronization is achieved by recognizing the code violating calibration cycle and determining the xe2x80x9ccounts per pulse widthxe2x80x9d (CPP) of the internal oscillator of the RFID tag device. Maintaining synchronization requires the ability to use the new pulse to correct for any accumulated error between the RFID tag device and the transmitted PPM time bases, and to maintain the time base of the RFID tag device time base to sufficient accuracy between the PPM pulses. For a maximum pulse separation of 31 pulse positions, the maximum allowed error is preferably xc2xd pulse position. This allows a maximum error of one part in 62, or +/xe2x88x921.6%.
Timing for detecting (demodulating) these commands from the PPM radio frequency (RF) or electromagnetic transmission is generated by a clock-oscillator internal to the RFID tag device. Communication between the RFID tag reader and RFID tag device takes place asynchronously with respect to the internal oscillator of the RFID tag device. To enhance the detection accuracy in the RFID tag device, the RFID tag reader may send three specifically timed reference pulses followed by the command and programming data signals. The RFID tag device uses the calibration timing pulses to calibrate its timing reference in the PPM decoder. The RFID tag reader transmits the timing pulses at the start of the command sequence. Time periods between the timing pulses may be used to calibrate the RFID tag device""s timing for proper PPM decoding. According to the present invention, the RFID tag device measures the time periods between the demodulated time reference pulses, and uses these time periods to calibrate its internal PPM decoder circuit and thus determine the CPP.
The PPM decoder of the RFID tag device may be implemented as a state machine. The PPM decoder state machine uses a bit window counter to track the state of the received PPM transmission. On RFID tag device power up, its PPM decoder state machine expects the transmission of a code violating calibration symbol. The format of the calibration symbol generally comprises three modulation pulses at time slots zero, six and fourteen of sixteen possible time slots in a code symbol. Other number of modulation pulses and time slots for a calibration symbol may be used and are contemplated herein.
While the PPM decoder is in its initial state, the bit window counter is reset to 016 and kept there until the detection of the first modulation pulse. Once the first modulation pulse of the calibration symbol has been received, a bit down counter is loaded with a reload value and is allowed to count down at the rate of the internal clock. When the bit down counter underflows, the bit window counter is incremented by one and the bit down counter is reloaded with the contents of a reload register. At each underflow of the bit down counter, the bit window counter is incremented by one and the bit down counter is reloaded.
Upon reception of the next modulation pulse, if the bit window counter is in a desired range, the bit down counter is reloaded with the reload value. Operation of the invention proceeds as before with the bit down counter causing the bit window counter to increment on each underflow and the bit down counter being reloaded with the contents of the reload register. During this period the calibration controller will start the calibration counter based on the value stored in the calibration code register, the bit down counter and the bit window counter. If a third modulation pulse occurs within the bit window range of C16 to F16 then it is assumed that this is the calibration symbol. The bit window counter is reset to E16, the bit down counter is reloaded with 516, and the calibration code register is loaded with the current value of the calibration counter.
PPM symbol reception begins once the bit window counter rolls over to 016, PPM uses the bit position within the symbol frame to represent data. The bit window counter is used to decode this symbol value. On every modulation pulse, the bit down counter is loaded with a reload value which is approximately the midpoint of every window for all allowed values found in the calibration code register. At any time, a calibration symbol may occur as long as it is properly framed within a symbol time period. A calibration controller starts the calibration counter based on the current calibration code, bit window counter and bit down counter. If the current calibration code is correct, then the reception of the 3rd bit of the calibration symbol will occur when the values in the bit window counter equals E16 and the bit down counter equals the reload value, respectively. Under these conditions the value in the calibration counter will always equal the value in the calibration code register.
In an embodiment of the present invention, the bit window counter comprises a modulo-16 counter, and the bit down counter comprises a CPP/2 carry flip-flop and a modulo-CPP/2 counter. The modulo-CPP/2 counter counts off two half periods of each PPM pulse position. At each half period, a carry output from the modulo-CPP/2 counter causes the CPP/2 carry flip-flop (D-flipflop) to toggle. The rising edge of the not-Q output of the CPP/2 carry flip-flop then clocks the modulo-16 counter (bit window counter) that tracks the pulse position count. Note that the modulo-16 counter may be reset to E16 by the last pulse of the calibration symbol.
It is contemplated and within the scope of the present invention that the embodiment of the invention may also be utilized with systems using pulse code modulation (PCM), pulse number modulation (PNM), pulse width modulation (PWM), etc.